Benjamin Drung [Thu, 22 Sep 2022 23:20:54 +0000 (01:20 +0200)]
Do not strip debug info for CMAKE_BUILD_TYPE=RelWithDebInfo
If `CMAKE_BUILD_TYPE` is set to `RelWithDebInfo` the debug information
should not be stripped. Currently `strip -x` is called when
`RelWithDebInfo` is set. A useless `echo` is called when `Debug` is set.
Skip `strip -x` when `CMAKE_BUILD_TYPE` is set to `Debug` or
`RelWithDebInfo`.
Forwarded: https://github.com/audacity/audacity/pull/3672 Signed-off-by: Benjamin Drung <benjamin.drung@canonical.com>
Gbp-Pq: Name Do-not-strip-debug-info-for-CMAKE_BUILD_TYPE-RelWithDebIn.patch
Benjamin Drung [Thu, 22 Sep 2022 17:52:43 +0000 (19:52 +0200)]
Fix rpath for private libraries on Linux
Installing audacity on Linux will produce private libraries that have
`RUNPATH` set to the build directory instead of the installation
directory.
The root cause is that the library directory is copied to the
installation directory without touching the libraries. The cmake wiki
says in RPATH handling caveats [1]: "Since install-side RPATH tweaking
is an operation that is done by target-specific installation handling,
any target that should have its install RPATH changed (e.g. to
`CMAKE_INSTALL_RPATH`) needs to end up in the installation via an
`install(TARGETS ...)` signature and not via directory-based copying."
So replace `install(DIRECTORY ...)` by individual `install(TARGETS ...)`
for the libraries and modules. Then cmake will replace the `RUNPATH` to
`$ORIGIN/../lib/audacity`, which is still incorrect. Therefore set
`INSTALL_RPATH` explicitly.
Fixes: https://github.com/audacity/audacity/issues/3289
Forwarded: https://github.com/audacity/audacity/pull/3671
[1] https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling#caveats Signed-off-by: Benjamin Drung <benjamin.drung@canonical.com>
Gbp-Pq: Name Fix-rpath-for-private-libraries-on-Linux.patch